package com.neu.String;
	/**
	 * 
	 * @author neustu
	 * Demo01: String 的使用
	 */
public class Demo01 {
public static void method() {
	String s1 = "abc";
	String s2 = "aaa";
	String s3 = "abc";
	String s4 = "ABC";
	/**                                                                                           
	 * equals 用来比较字符串是否相等
	 *  问题:  equals 与    ==  的区别
	 *  	(1):在没有重写   equals 方式时,该方法只能比较引用类型  ;  ==  既能比较引用类型又能比较基本类型;
	 *  	(2):equals方法从  Objeck 继承过来的,主要用来比较对象引用的值是否相等
	 *  	(3):如果开发者重写了 equals 方法 那么该方法不仅仅只能比较对象的引用的值:
	 *  	(4):== 用于比较基本类型时相当与算数符号; 如果 == 用于比较引用类型,则相当与比较对象引用的值;
	 */
	if(s1.equals(s2)) {
		System.out.println("相等");
	}else {
		System.out.println("不相等");
	}
	if(s1==s2){
		System.out.println("相等");
	}else {
		System.out.println("不相等");
	}
	if(s1.equals(s3)) {
		System.out.println("相等");
	}else {
		System.out.println("不相等");
	}
	if(s1==s3) {
		System.out.println("相等");
	}else {
		System.out.println("不相等");
	}
	//  equalsIgnoreCase :是忽略大小写的  大小写不影响 . 用来比较对象的值
	//  equals   区分大小写的
		System.out.println(s1.equals(s4));
		System.out.println(s1.equalsIgnoreCase(s4));
		
		/**
		 *  compareTo:该方法本质上不是用来判断字符串大小写的,它对俩个字符串进行比较
		 *            比较滞后会返回正数,零,负数:
		 *        如果返回结果是正数:那么第一个字符串比第二个字符串大;
		 *        如果返回结果是零的:说明俩个字符串相等;
		 *        如果返回结果是负数:说明第一个字符串小于第二个字符串;
		 */
		String str1 = "abc";  
		String str2 = "ACD";
		int value = str1.compareTo(str2);
		System.out.println(value);
}
public static void main(String[] args) {
	method();   //  可以直接写方法名调用    都在一个类 里面
}
}
